package com.wzdigit.wms.basic.domain.transfer;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import java.util.Date;

import com.wzdigit.framework.orm.model.BasicDomain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 发货单明细,GDN=Goods Delivery Notes
 * </p>
 *
 * @author 
 * @since 2021-02-22
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("WMS_GDN_DTL")
@KeySequence(value = "WMS_GDN_DTL_SEQ", clazz = Integer.class)
public class GdnDtl extends BasicDomain {

    private static final long serialVersionUID = 1L;

    /**
     * 发货单明细ID
     */
    @TableId(value = "GDN_DTL_ID", type = IdType.INPUT)
    private Long gdnDtlId;

    /**
     * 发货单表头ID
     */
    @TableField("GDN_HEADER_ID")
    private Long gdnHeaderId;

    /**
     * 发货单行号
     */
    @TableField("GDN_LINE_NO")
    private Integer gdnLineNo;

    /**
     * 来源发货通知单行号
     */
    @TableField("SOURCE_SHIP_NOTICE_ITEM")
    private String sourceShipNoticeItem;

    /**
     * 仓库
     */
    @TableField("WHS_ID")
    private Integer whsId;

    /**
     * 货品
     */
    @TableField("SKU_ID")
    private Integer skuId;

    /**
     * 供应商
     */
    @TableField("VENDOR")
    private Integer vendor;

    /**
     * 客户型号
     */
    @TableField("CUSTOMER_MODLE")
    private String customerModle;

    /**
     * 机型类别
     */
    @TableField("MODLE_TYPE")
    private String modleType;

    /**
     * 品牌
     */
    @TableField("BRAND")
    private String brand;

    /**
     * 采购订单号
     */
    @TableField("PO_NO")
    private String poNo;

    /**
     * 采购订单行号
     */
    @TableField("PO_LINE_NO")
    private String poLineNo;

    /**
     * 销售订单号
     */
    @TableField("SO_NO")
    private String soNo;

    /**
     * 销售订单行号
     */
    @TableField("SO_LINE_NO")
    private String soLineNo;

    /**
     * 参考销售订单号
     */
    @TableField("REF_SO_NO")
    private String refSoNo;

    /**
     * 参考销售订单行号
     */
    @TableField("REF_SO_LINE_NO")
    private String refSoLineNo;

    /**
     * 订单数量
     */
    @TableField("ORDER_QTY")
    private BigDecimal orderQty;

    /**
     * 预配数量
     */
    @TableField("PRE_ALOC_QTY")
    private BigDecimal preAlocQty;

    /**
     * 分配数量
     */
    @TableField("ALOC_QTY")
    private BigDecimal alocQty;

    /**
     * 拣货数量
     */
    @TableField("PICK_QTY")
    private BigDecimal pickQty;

    /**
     * 发货数量
     */
    @TableField("SHIP_QTY")
    private BigDecimal shipQty;

    /**
     * 预留数量
     */
    @TableField("REMAIN_QTY")
    private BigDecimal remainQty;

    /**
     * 收货单位
     */
    @TableField("UNIT")
    private String unit;

    /**
     * 库存性质(特殊采购性质)，K为寄售 ,E为销售订单,空白为标准
     */
    @TableField("INV_ATTR")
    private String invAttr;

    /**
     * 库存类型，空白为非限制，X为质检，S为冻结
     */
    @TableField("INV_TYPE")
    private String invType;

    /**
     * 货品品质状态：待检，合格，不合格
     */
    @TableField("QA_STATUS")
    private Integer qaStatus;

    /**
     * 工作中心
     */
    @TableField("WORK_CENTER")
    private String workCenter;

    /**
     * 成本中心
     */
    @TableField("COST_CENTER")
    private String costCenter;

    /**
     * 预留号
     */
    @TableField("RESERVE_NO")
    private String reserveNo;

    /**
     * 预留项目
     */
    @TableField("RESERVE_ITEM")
    private String reserveItem;

    /**
     * 项目文本
     */
    @TableField("ITEM_TXT")
    private String itemTxt;

    /**
     * 生产工单
     */
    @TableField("WORK_ORDER")
    private String workOrder;

    /**
     * 需求时间
     */
    @TableField("REQUIRE_TIME")
    private Date requireTime;

    /**
     * 批次号
     */
    @TableField("LOTNO")
    private String lotno;

    /**
     * 总体积
     */
    @TableField("TOTAL_CUBIC")
    private BigDecimal totalCubic;

    /**
     * 总毛量
     */
    @TableField("TOTAL_GROSS_WEIGHT")
    private BigDecimal totalGrossWeight;

    /**
     * 总净重
     */
    @TableField("TOTAL_NET_WEIGHT")
    private BigDecimal totalNetWeight;

    /**
     * 总价
     */
    @TableField("TOTAL_PRICE")
    private BigDecimal totalPrice;

    /**
     * 实际发货时间
     */
    @TableField("REAL_SHIP_TIME")
    private Date realShipTime;

    /**
     * 拣货任务生成标记
     */
    @TableField("PICK_TASK_FLAG")
    private Integer pickTaskFlag;

    /**
     * 打印标记
     */
    @TableField("PRINT_FLAG")
    private Integer printFlag;

    /**
     * 执料备注
     */
    @TableField("PICK_REMARK")
    private String pickRemark;

    /**
     * 是否急料
T：急料，F或空：非急料
     */
    @TableField("IS_EMERGENT")
    private String isEmergent;

    /**
     * 拣货策略
     */
    @TableField("PICK_RULE")
    private String pickRule;

    /**
     * 拣货策略
     */
    @TableField("PRE_ALOC_RULE")
    private String preAlocRule;

    /**
     * 拣货策略
     */
    @TableField("ALOC_RULE")
    private String alocRule;

    /**
     * 最后拣料时间
     */
    @TableField("LAST_PICK_TIME")
    private Date lastPickTime;

    /**
     * 最后出库时间
     */
    @TableField("LAST_SHIP_TIME")
    private Date lastShipTime;

    /**
     * 批次属性1
     */
    @TableField("LOT_ATTR_1")
    private String lotAttr1;

    /**
     * 批次属性2
     */
    @TableField("LOT_ATTR_2")
    private String lotAttr2;

    /**
     * 批次属性3
     */
    @TableField("LOT_ATTR_3")
    private String lotAttr3;

    /**
     * 批次属性4
     */
    @TableField("LOT_ATTR_4")
    private String lotAttr4;

    /**
     * 批次属性5
     */
    @TableField("LOT_ATTR_5")
    private String lotAttr5;

    /**
     * 批次属性6
     */
    @TableField("LOT_ATTR_6")
    private String lotAttr6;

    /**
     * 批次属性7
     */
    @TableField("LOT_ATTR_7")
    private String lotAttr7;

    /**
     * 批次属性8
     */
    @TableField("LOT_ATTR_8")
    private String lotAttr8;

    /**
     * 批次属性9
     */
    @TableField("LOT_ATTR_9")
    private String lotAttr9;

    /**
     * 批次属性10
     */
    @TableField("LOT_ATTR_10")
    private String lotAttr10;

    /**
     * 批次属性11
     */
    @TableField("LOT_ATTR_11")
    private String lotAttr11;

    /**
     * 批次属性12
     */
    @TableField("LOT_ATTR_12")
    private String lotAttr12;

    /**
     * 用户自定义字段1
     */
    @TableField("UDF1")
    private String udf1;

    /**
     * 用户自定义字段2
     */
    @TableField("UDF2")
    private String udf2;

    /**
     * 用户自定义字段3
     */
    @TableField("UDF3")
    private String udf3;

    /**
     * 用户自定义字段4
     */
    @TableField("UDF4")
    private String udf4;

    /**
     * 用户自定义字段5
     */
    @TableField("UDF5")
    private String udf5;

    /**
     * 备注
     */
    @TableField("COMMENTS")
    private String comments;

    /**
     * 状态
     */
    @TableField("STATUS")
    private Integer status;
    
    /**
     * 排柜标识，0/空：未排柜，1：已排柜
     */
    @TableField("ARRANGE_CTNR_FLAG")
    private Integer arrangeCtnrFlag;

    /**
     * 发货单参考信息
     */
    @TableField("GDN_REF1")
    private String gdnRef1;

    /**
     * 发货单参考信息
     */
    @TableField("GDN_REF2")
    private String gdnRef2;

    /**
     * 发货单参考信息
     */
    @TableField("GDN_REF3")
    private String gdnRef3;

    /**
     * 发货单参考信息
     */
    @TableField("GDN_REF4")
    private String gdnRef4;

    /**
     * 发货单参考信息
     */
    @TableField("GDN_REF5")
    private String gdnRef5;

    /**
     * 发货单参考信息
     */
    @TableField("GDN_REF6")
    private String gdnRef6;

    /**
     * 发货单参考信息
     */
    @TableField("GDN_REF7")
    private String gdnRef7;

    /**
     * 发货单参考信息
     */
    @TableField("GDN_REF8")
    private String gdnRef8;

    /**
     * 发货单参考信息
     */
    @TableField("GDN_REF9")
    private String gdnRef9;

    /**
     * 发货单参考信息
     */
    @TableField("GDN_REF10")
    private String gdnRef10;

    /**
     * 取消装柜次数
     */
    @TableField("UN_LOADING_CNT")
    private BigDecimal unLoadingCnt;

    /**
     * 序号(交货计划的编码)
     */
    @TableField(value = "DO_NO")
    private String doNo;

    /**
     * 来源发货通知单
     */
    @TableField(value = "SOURCE_SHIP_NOTICE")
    private String sourceShipNotice;

    /**
     * 上线需求时间
     */
    @TableField(value = "DEMAND_TIME")
    private Date demandTime;

    @TableField(value = "CTNR_SEQUENCE")
    private Integer  ctnrSeq;

}
